//class Bounce

    export  class Bounce
    {
       

        public static easeOut(arg1: number, arg2: number, arg3: number, arg4: number): number
        {
            var loc1;
            arg1 = loc1 = arg1 / arg4;
            if (loc1 < 1 / 2.75) 
            {
                return arg3 * 7.5625 * arg1 * arg1 + arg2;
            }
            if (arg1 < 2 / 2.75) 
            {
                arg1 = loc1 = arg1 - 1.5 / 2.75;
                return arg3 * (7.5625 * loc1 * arg1 + 0.75) + arg2;
            }
            if (arg1 < 2.5 / 2.75) 
            {
                arg1 = loc1 = arg1 - 2.25 / 2.75;
                return arg3 * (7.5625 * loc1 * arg1 + 0.9375) + arg2;
            }
            arg1 = loc1 = arg1 - 2.625 / 2.75;
            return arg3 * (7.5625 * loc1 * arg1 + 0.984375) + arg2;
        }

        public static easeIn(arg1: number, arg2: number, arg3: number, arg4: number): number
        {
            return arg3 - Bounce.easeOut(arg4 - arg1, 0, arg3, arg4) + arg2;
        }

        public static easeInOut(arg1: number, arg2: number, arg3: number, arg4: number): number
        {
            if (arg1 < arg4 * 0.5) 
            {
                return Bounce.easeIn(arg1 * 2, 0, arg3, arg4) * 0.5 + arg2;
            }
            return Bounce.easeOut(arg1 * 2 - arg4, 0, arg3, arg4) * 0.5 + arg3 * 0.5 + arg2;
        }
    }
